/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DSB.Model.Toerist;

import java.util.HashMap;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
/**
 *
 * @author Gebruiker
 * Engels is een subklasse van de superklasse Taal.
 */
public class Engels extends Taal {
    
    private HashMap _resources = new HashMap();
    private final String _name = "English";
    
    /**
     * Constructor welke uit de Engelse xml zijn basisgegevens haalt
     */
    public Engels()
    {
        DocumentBuilderFactory builder = DocumentBuilderFactory.newInstance();
        
        try {
            DocumentBuilder db = builder.newDocumentBuilder();
            Document file = db.parse("Resources/Engels.xml");
            
            Element root = file.getDocumentElement();
            NodeList nl = root.getElementsByTagName("resource");
            if (nl != null && nl.getLength()  > 0)
            {
                for(int i = 0; i < nl.getLength(); i++)
                {
                    Element res = (Element) nl.item(i);
                    NodeList title = res.getElementsByTagName("title");
                    NodeList description = res.getElementsByTagName("description");
                    
                    if(title.getLength() == 1 && description.getLength() == 1)
                    {
                        _resources.put(title.item(0).getFirstChild().getNodeValue(), description.item(0).getFirstChild().getNodeValue());
                    }
                }
            }   
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
    
    /**
     *
     * @param title string Translate
     * @return deze methode haalt aan de hand van de opgegeven nodelist zijn gegevens op en zet deze om naar een string
     */
    @Override
    public String Translate(String title)
    {        
        return (_resources.containsKey(title)) ? _resources.get(title).toString() : "";
    }

    /**
     *
     * @return getLanguage is een methode die toegepast wordt die de taalnaam ophaalt.
     */
    @Override
    public String getLanguage() {
        return _name;
    }
}
